package com.github.cakin.shiro.chapter12.dao;

import com.github.cakin.shiro.chapter12.entity.Role;

/**
 * @className: RoleDao
 * @description: 角色 DAO层接口
 * @date: 2020/5/19
 * @author: cakin
 */
public interface RoleDao {
    /**
     * 功能描述：创建角色
     *
     * @param role 角色
     * @return Role 角色
     * @author cakin
     * @date 2020/5/19
     */
    Role createRole( Role role );

    /**
     * 功能描述：删除角色
     *
     * @param roleId 角色id
     * @author cakin
     * @date 2020/5/19
     */
    void deleteRole( Long roleId );

    /**
     * 功能描述：添加角色-权限之间关系
     *
     * @param roleId        角色id
     * @param permissionIds 权限id列表
     * @author cakin
     * @date 2020/5/19
     */
    void correlationPermissions( Long roleId, Long... permissionIds );

    /**
     * 功能描述：移除角色-权限之间关系
     *
     * @param roleId        角色id
     * @param permissionIds 权限id列表
     * @author cakin
     * @date 2020/5/19
     * @description:
     */
    void uncorrelationPermissions( Long roleId, Long... permissionIds );

}

